import axios from 'axios'
import store from '@/store'
// 引用Message消息提示函数
// import { Message } from 'element-ui'
// 导入router实例
// import router from '@/router'

const request = axios.create({
  baseURL: 'http://hmmm-api.itheima.net',
  timeout: 5000
})

// 请求拦截器
request.interceptors.request.use(
  (config) => {
    const { token } = store.state.user
    if (token) {
      config.headers.Authorization = `Bearer ${token}`
    }

    return config
  },
  (error) => {
    console.dir(error)

    return Promise.reject(error)
  }
)

// 响应拦截器
request.interceptors.response.use(
  (resp) => {
    return resp
  },
  async (error) => {
    console.log(error)
    // // 判断token过期状态码
    // if (error.response.status === 401 && error.response.data.code === 10002) {
    //   // 给出token过期提示
    //   Message.error('令牌过期，请重新登录')
    //   // 清空vuex中的token和用户信息
    //   await store.dispatch('user/logoutAction')
    //   // 跳转至登录，并携带回跳地址
    //   router.replace(`/login?redirectUrl=${router.currentRoute.fullPath}`)
    // }
    return Promise.reject(error)
  }
)

export default request
